Android JUnit 测试 ClassNotFoundException
全部标签 我正在使用dbunit进行phpunit测试。这是我第一次在php中进行测试。我正在通过此命令创建xml:mysqldump--xml-t-uusername-pdatabase>seed.xml之后根据docxml应采用以下格式:但在我生成的xml中它看起来像:11asdas2asDASD当我试图在我的测试类中运行它时:$this->createMySQLXMLDataSet('seed.xml');我收到这个错误:PHPUnit_Extensions_Database_Exception:Therootelementofaflatxmldatasetfilemustbecalled
我正在重写现有的Laravel4应用程序以确保进行充分的测试。长话短说,我已经使用TDD方法重写了我的AccountController类,但我有点头疼。考虑以下呈现包含用户列表的页面的方法:publicfunctiongetIndex(){//buildtheview//return\View::make('account.list-users')->with('users',\Sentry::getUserProvider()->findAll());}我正在使用Smarty呈现我的View并使用Sentry进行身份验证。现在,我想写一些这样的测试:publicfunctionte
目前我正在为一个框架编写测试,我们通常在测试失败时使用自定义错误消息,添加一些有用的调试信息:$this->assertEquals($check,$result,'Class::methodreturnedthewrongresultwithargumentXXX');但是我希望在检查函数调用时自定义错误消息:$mock->expects($this->any())->method('foobar')->with($this->equals('dummy'));当上述断言不成立时,我得到标准消息。我在PhpUnit文档中进行了搜索,但找不到自定义错误消息的方法,我是否遗漏了任何内容?
我正在为我的应用程序编写单元测试。我编写了一个函数来登录不同的用户(以测试用户级别)和一个函数来生成有效或无效的表单数据(以测试我的表单处理)。当测试提交表单时,它抛出一个异常:UncaughtPHPExceptionLogicException:"CannotsetsessionIDafterthesessionhasstarted."我正在使用Symfony2.6.4。我找不到有关此错误消息的任何有用信息。该测试在不久前运行良好。classControllerTestextendsWebTestCase{public$client=null;public$route='home/'
我正在使用预言来编写我的单元测试"require":{...,"phpspec/prophecy-phpunit":"~1.0"},我调用$dbUser=$this->em->getRepository('MainBundle:User')->findOneById($id);测试时出现错误,因为未定义findOneByProperty方法。除了将原始代码更改为:$dbUser=$this->em->getRepository('MainBundle:User')->findOneBy(array('id'=>$id);我没有找到任何其他解决方法。有什么方法可以使用预言并保留原始代码来
我有这样一个代码:publicfunctionone(){try{$this->two();}catch(Exception$E){$this->three();}}我如何测试调用了$this->three()函数?我尝试“按代码模拟”$this->two()并抛出错误而不是它的原始代码,但最终错误被phpunit本身捕获。尝试了setExpectedException,但它也没有解决问题-catch再次在phpunit中运行,只是被忽略了。函数$this->three()在这两种情况下都没有被调用。谢谢! 最佳答案 问题是所描述的
我在寻找一种方法来测试我的异常处理程序是否在抛出异常时被调用时遇到了一些困难。这是我最初用于测试的想法:classClientSpecextendsObjectBehavior{functionit_should_catch_exceptions(Config$config){$e=newException('testexception');$this->catchException($e)->shouldBeCalled();throw$e;}}Client有一个方法catchException它将通过set_exception_handler设置为异常处理程序:http://php
我正在尝试使用它们之间的共享session运行多个测试,从登录开始。'chrome','sessionStrategy'=>'shared');publicfunctionsetUp(){$this->webDriver=RemoteWebDriver::create($this->host,$this->browser);}publicfunctiontearDown(){$this->webDriver->quit();}我的第一个测试是登录,效果很好:publicfunctiontestLogin(){$this->webDriver->get('http://localhost
我使用以下方法在我的PHPUnit测试中分派(dispatch)Slim应用程序的路由:protectedfunctiondispatch($path,$method='GET',$data=array()){//Prepareamockenvironment$env=Environment::mock(array('REQUEST_URI'=>$path,'REQUEST_METHOD'=>$method,));//Preparerequestandresponseobjects$uri=Uri::createFromEnvironment($env);$headers=Header
检查供应商是否存在于我们的Laravel项目中的最佳方法是什么?我的解决方案:$foo='Foo\Foo';if(class_exists($foo)){//classexists}有更好的解决方案吗?一个我不知道的Laravel方法?谢谢! 最佳答案 这是正确的做法,Laravel中没有相应的功能。但最正确的方法是使用完整命名空间检查类是否存在,例如:$foo='Symfony\Component\HttpFoundation\Request';if(class_exists($foo)){//classexists}